In the absence of quality-of-service (QoS) measures, best-effort service is the default behavior of packet-switched networks. Routers in the network make a best effort to deliver a packet, but may drop packets indiscriminately in the event of network congestion. The routers managing bandwidth and prioritize delay-sensitive packets. The Internet today is a good example of best-effort service. Best-effort is suitable for a wide range of networked applications such as general file transfers or e-mail.
However, there are many functions which are considered relatively more important or urgent than others. For example, in some applications involving the world-wide web (the “web”), it might be considered more important to receive and process commercial transactions than to permit browsing of certain types of information. Functions can also be considered relatively more important or urgent dependent on context. For example, a processing resource becomes overloaded. In such a case, it may be desired to give certain packets priority. For real-time streaming applications, such as audio/video deliver, jitter is a concern.
Jitter is distortion of a signal as it is propagated through the network, where the signal varies from its original reference timing, and packets do not arrive at a destination in consecutive order or on a timely basis, i.e., the packets vary in latency. In packet-switched networks, jitter is a distortion of the interpacket arrival times compared to the interpacket times of the original transmission. Also referred to as delay variance. This distortion is particularly damaging to multimedia traffic.
Therefore, many network, such as the Internet define a concept called quality of service (QoS). QoS is set of actions the network takes to configure and signal according to a particular traffic classification. QoS collectively measures the level of service delivered. QoS can be characterized by several basic performance criteria, including availability, error performance, response time and throughput, lost calls or transmissions due to network congestion, connection set-up time, and speed of fault detection and correction. Internet Service Providers ISPs) may guarantee a particular level of QoS, defined by a service level agreement (SLA). QoS solutions sort and classify packet requests into different traffic classes and allocates the proper resources to direct traffic based on various criteria including application type, user or application ID, source or destination IP address, time of day, and other user-specified variables.
In order to provide end-to-end quality-of-service in the Internet, the Internet Engineering Task Force (IETF) has defined two major architectures for augmenting best-effort service, namely, Integrated Services (IntServ), and Differentiated Services (DiffServ).
In the network data plane of the IntServ architecture, scheduling schemes such as Weighted Fair Queuing (WFQ), Virtual Clock (VC) and Rate-Controlled Earliest Deadline First (RC-EDF) have been proposed to support guaranteed service. In the control plane, a signaling protocol called a Resource ReSerVation Protocol (RSVP) is required to perform admission control and resource reservation. While IntServ provides excellent quality of service, it requires per-flow management at core routers, which places an unbearable burden on core routers.
Due to the poor scalability of the IntServ architecture, DiffServ has been proposed as an alternative architecture. DiffServ is an IETF standard utilizing a small, well-defined set of per-packet building blocks from which a variety of services may be built to provide a framework for delivering quality of service (QoS) in networks. At least two service classes have been defined under this effort, “Assured Service” and “Preferred Service.”
DiffServ can provide expedited handling appropriate for a wide class of applications, including lower delay for mission-critical applications and packet voice applications. DiffServ-capable routers need only to track a small number of per-hop behaviors, and the routers service packets based on a single byte. Typically, DiffServ is associated with a coarse level of packet classification.
In the network data plane of the DiffServ, per-flow state management at core routers are eliminated. Based on bit patterns of the differentiated service (DS) field in the IP header, IP flows are classified into different aggregates.
A core router merely implements simple scheduling and buffering mechanisms to serve the aggregated flows. In other words, the services are provided for aggregates, instead of individual flows, and defined by a small set of Per-Hop Behaviors (PHBs).
Per Hop Behavior is the forwarding treatment given to a specific class of traffic, based on criteria defined in the DS. Routers and switches use PHBs to determine priorities for servicing various traffic flows. A PHB group is a set of one or more PHBs that can only be meaningfully specified and implemented simultaneously, due to a common constraint applying to all PHBs in the set such as a queue servicing or queue management policy. A PHB group provides a service building block that allows a set of related forwarding behaviors to be specified together, e.g., four dropping priorities.
By pushing the complexity to edge routers, DiffServ's data plane is much more scalable than IntServ. While DiffServ is more scalable, it still requires the support of admission control, resource provisioning, and service-level agreement on the control plane.
A bandwidth broker architecture has been proposed to perform admission control and resource provisioning in each network domain. A bandwidth broker is a traffic manager deployed at congestion points, such as routers, that limits access to network resources. The bandwidth broker decouples QoS control from core routers. Core routers do not maintain any QoS reservation state, all reservation states are stored and managed by bandwidth brokers. However, a bandwidth broker cannot coordinate multiple traffic flows or resolve conflicting QoS requests made by multiple domains, and is therefore not an end-to-end QoS solution.
For the packet scheduling discipline in the data plane, a number of mechanisms are available to implement the coarse-grain QoS support. Besides priority queuing and weighted round robin scheduler, a Class Based Queuing (CBQ) scheduler is a possible implementation to meet the requirements of forwarding behaviors in DiffServ architecture, in which the EF queue is given the priority up to the configured rate.
Currently, three types of PHBs are included in DiffServ architecture, which are Expedited Forwarding (EF) PHB. Assured Forwarding (AF) PHB, and Best-Effort (BE) PHB. The EF is to support premium service in DiffServ, which has been proposed as a virtual leased line. Providing low loss rate, low delay, low delay jitter and assured throughput are the commitments made by premium service. AF only provides low loss rate, but no guarantee on delay and delay jitter.
To implement premium service in IP networks, a packet scheduler at a router is essential to meet the EF commitments. Among the various proposed packet-scheduling schemes, priority queuing and weighted round robin have attracted attention to realize EF due to their simplicity. Results have shown that priority queuing can provide lower delay, and lower delay jitter to a EF flow than weighted round robin does. This result is no surprise, because in priority queuing scheduler, the priority queue is always serviced before any other queue so that a timely packet delivery is guaranteed.
However, priority queuing can introduce larger burstiness because the EF packets do not get interleaved with any other packets that belong to a different behavior aggregate (BA). A behavior aggregate is a set of packets with the same DS field pattern in a forwarding path.
The aggregation of EF flows leads to cluster of EF packets, and the EF burstiness increases as more EF flows aggregate at core routers. These side effects brought by priority queuing can cause the EF packet arrival rate to exceed the reserved service rate at core routers, resulting in packet losses.
It is also known that priority queuing can lead to increased burstiness and bursty packet loss. Moreover, priority queuing allows exhaustive bandwidth consumption by EF flows, which can cause starvation to other behavior aggregates. The weighted round robin, or weighted fair queuing scheduling scheme does not have such drawbacks, but the traffic distortion inside the network and the dynamic flow aggregation make the static weights hard to work well at routers.
To provide for no, or very small queuing delay, the premium service requires that the maximum arrival rate of the EF aggregate at every transit node is always less than the aggregate's minimum departure rate. There are two prerequisites to meet this requirement: the EF aggregate has a well-defined minimum departure rate, which is independent of the dynamic state of the router; and the EF aggregate is conditioned, which includes policing and shaping, to ensure that its arrival rate at any router is less than the router's configured minimum departure rate.
Unfortunately, traffic conditioning is only performed at edge routers. Traffic distortion inside the network such as packets clustering could violate the promised traffic specification easily. Furthermore, in each router, the number of flows in EF aggregates changes with the joining or leaving of individual EF flows, so the minimum departure rate for EF aggregate should be dynamically adjusted to meet the change of traffic profile. Without the support of rigid admission control and accurate traffic conditioning, the static setting of weights could cause bursty packet losses because a relatively small buffer space is used for premium service.
Therefore, there is a need for a packet scheduler that supports premium service in a communications network. The scheduler should dynamically adapt to different traffic flow aggregates, without requiring rigid admission control. Burstiness in the network should be absorbed without packet loss or increased queuing delays.